package chapter04

/**
 * @program lu-scala01
 * @description: 不可变列表
 * @author: zhanglu
 * @create: 2022-03-29 17:26:00
 */
object Lu04_List {

  def main(args: Array[String]): Unit = {
    val list01 = List(1, 2, 3)
    println(list01)
    println(list01(1))
    val list02 = list01.+:(-1)  //前插入

    println(list02)
    val list03 = list01.:+(4) //后插入
    println(list03)
    val list04 = -1 +: list01 :+ 4  //前后插入
    println(list04)

    println("==========")

    //头插入，new一个新的对象
    val list05 = list01.::(-1)
    println(list05)

    val list06 = Nil.::(1)
    println(list06)

    //List(-1, 0, 2, 1)
    val list07 = -1 :: 0 :: Nil .::(1) .::(2)
    println(list07)
    //List(List(1), -1, 0, 2, 1)
    val list08 = list06 :: list07
    println(list08)
    //合并列表
    //List(1, -1, 0, 2, 1)
    val list09 = list06 ::: list07
    println(list09)
    //List(1, -1, 0, 2, 1)
    val list10 = list06 ++ list07
    println(list10)

  }


}
